home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / Softshoe / Lisa's Mac Parts / Views / Tiled Views / TiledView.h < prev   
Text File  |  2000-06-23  |  1KB  |  56 lines

  1. // TiledView.h
  2.  
  3. #ifndef TiledView_h
  4. #define TiledView_h
  5.  
  6. #ifndef ListOf_h
  7. #include "ListOf.h"
  8. #endif
  9. #ifndef LightListLoop_h
  10. #include "LightListLoop.h"
  11. #endif
  12. #ifndef DrawsSpontaneously_h
  13. #include "DrawsSpontaneously.h"
  14. #endif
  15.  
  16. class SuggestsPaneSize;
  17.  
  18. class TiledView: virtual public DrawsSpontaneously
  19.   {
  20.     friend class TiledPane;
  21.     
  22.     private:
  23.         ListOf<TiledPane> panes;
  24.     
  25.     protected:
  26.         typedef LightListLoop<TiledPane> PaneLoop;
  27.         const ListOf<TiledPane>& Panes() const        { return panes; }
  28.         
  29.         void ShufflePanes( TiledPane *shuffleFirst );
  30.         
  31.         void ShufflePanesForward();
  32.         void ShufflePanesBackward();
  33.  
  34.         int32 TotalProposedSize() const;
  35.                 
  36.     public:
  37.         virtual void Deliver( CellVisitor&, const Canvas& );
  38.         
  39.         typedef int32 (SuggestsPaneSize::*Measurement)() const;
  40.         
  41.         int32 MinimumOf( Measurement ) const;
  42.         int32 MaximumOf( Measurement ) const;
  43.         int32 TotalOf( Measurement ) const;
  44.         
  45.         void Add( TiledPane&, BeforeStart );
  46.         void Add( TiledPane&, AfterEnd );
  47.         
  48.         void Add( TiledPane&, Before, const TiledPane& position );
  49.         void Add( TiledPane&, After, const TiledPane& position );
  50.         
  51.         void Remove( TiledPane& n );
  52.         void RemoveAll();
  53.   };
  54.  
  55. #endif
  56.